home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / demovers / ergo_pro / beispiel / pp_exmpl.lst
File List  |  1998-10-29  |  3KB  |  72 lines

  1. ' ------------------------------------------------------------------------------
  2. ' PP_EXMPL.GFA : Demonstration der Möglichkeiten des Präprozessors von ergo!-pro
  3. ' ------------------------------------------------------------------------------
  4. ' Das Programm liest zwei Zahlen ein und gibt Summe und Produkt aus. Mittels
  5. ' des Präprozessors sollen daraus verschiedene Versionen erzeugt werden:
  6. '   1. Die 'Normalversion' gibt nur die Summe der beiden Zahlen aus.
  7. '   2. Die 'Profiversion' berechnet zusätzlich noch das Produkt.
  8. '   3. Eine 'Demoversion' arbeitet wie die Normalversion, ist aber auf Zahlen
  9. '      bis 10 beschränkt.
  10. ' Außerdem soll für alle drei Versionen die Kontrollanzeige der eingegebenen
  11. ' Zahlen eliminiert werden, die nur während der Entwicklung nötig ist.
  12. ' (Jaja, es gibt sinnvolleres, aber zur Demonstration reicht's)
  13. '
  14. ' Es werden drei PP-Befehle verwendet:
  15. '  1. '#db' markiert die Teile, die zum Debuggen eingebaut wurden und vor der
  16. '      Comilierung der Demo-,Normal- oder Profiversion entfernt werden sollen.
  17. '  2. '#PR' markiert die Teile, die nur zur PROFI-Version gehören. Sie werden
  18. '      für die Demo- und Normalversion entfernt.
  19. '  3. 'DEM' markiert die Teile, die nur zur Demo-Version gehören. Sie werden
  20. '      für die Profi- und Normalversion entfernt.
  21. ' Außerdem sind zwei symbolische Variablen definiert. Hier für ist die fest
  22. ' vorgegebene Zeichenfolge '+SYM'  zuständig.
  23. '
  24. ' Um nun aus diesem Quelltext die unterschiedlichen Versionen zu erzeugen, muß
  25. ' im Dialog des Präprozessors folgendes eingetragen sein:
  26. '
  27. '   Für die Demoversion:    #PR #db
  28. '   Für die Profiversion:   #db DEM
  29. '   Für die Normalversion:  #db DEM #PR
  30. '
  31. ' Außerdem sollte das Kreuz bei 'Symbolische Variablen..' und 'Unbenutzte Pro-
  32. ' zeduren..' gesetzt sein.
  33. ' WICHTIG: Groß-Klein-Schreibung bei den PP-Befehlen beachten!
  34. ' ------------------------------------------------------------------------------
  35. ' Symbolische Variablen definieren:
  36. nochmal&=1          !+SYM
  37. aufhoeren&=2        !+SYM
  38. '
  39. REPEAT
  40.   '
  41. neueingabe:                             ! -DEM
  42.   INPUT "Zwei Zahlen eingeben: ",a#,b#
  43.   @kontrolle                            ! -#db
  44.   '
  45.   ' --DEM
  46.   IF a#>10 OR b#>10
  47.     PRINT "In Demoversion nur Zahlen bis 10 erlaubt!"
  48.     GOTO neueingabe
  49.   ENDIF
  50.   ' --DEM
  51.   '
  52.   PRINT "Die Summe beträgt ";a#+b#
  53.   PRINT "Das Produkt beträgt ";a#*b#      ! -#PR
  54.   '
  55.   INPUT "Noch eine Rechnung (1=ja, 2=nein)? ",eingabe&
  56.   '
  57. UNTIL eingabe&=aufhoeren&
  58. END
  59. '
  60. PROCEDURE kontrolle
  61.   '
  62.   ' Achtung: Diese Prozedur wird automatisch eliminiert, obwohl sie nicht mit
  63.   ' einem Präprozessor-Befehl markiert ist. Da nämlich ihr einziger Aufruf
  64.   ' mittels '-#db' aus dem Programm entfernt wird, erkennt ergo!, daß es sich
  65.   ' um eine 'unbenutzte Prozedur' handelt, und beseitigt sie automatisch
  66.   ' (wenn diese Option im Präprozessor-Dialog angekreuzt ist).
  67.   '
  68.   PRINT "Es wurden die Zahlen ";a#;" und ";b#;" eingegeben!"
  69.   ~INP(2)
  70.   '
  71. RETURN
  72.